The invention relates generally to software test systems and methods and more particularly to software test systems and methods for testing software or hardware, such as drivers, in a plurality of different test stations having the same or different software and hardware configurations.
Product testing has become an integral part of the success of products. Certain products require both the testing of hardware and associated software. For example, graphics processors have associated software drivers to suitably control operation of the graphics processor (e.g., graphics/video processors). Graphics processors are typically one of many components in a computer system, handheld device or other suitable device that may include a processor, system memory, an operating system and other software applications. With the rapid changes in hardware configurations by different manufacturers for varying devices and other data processing devices, and with the rapid development of differing software drivers for various hardware components, there is a need to test software on devices having the same or differing hardware platforms and/or differing operating systems with different processor speeds, different software configurations, and different applications to ensure that the software and hardware under test operates correctly in the proper environment.
Automated test systems are known. Automated testing systems may be distributed such that testing of hardware and software may be accommodated through a network such as the Internet or Intranet which may allow a user to control units under test via a web based control interface. In one example, a dispatcher machine may, among other things, receive data packets from test machines indicating that the test machines are available to perform tests. Upon receiving an availability data packet, the dispatcher machine determines whether one or more of the tests on a list of tests maintained by the dispatcher machine is capable of being performed by the test machine which generated the availability data packet. Hence, one dispatcher which may be hardwired to a group of test machines utilizes one test queue of incoming jobs per dispatcher. Such systems do not appear to allow the selection of a particular dispatcher or a selection of a particular machine to be used nor do they appear to support subdivisions of test machines to a given task. In addition, systems typically do not provide an indication of the current testing status of the test units that are performing testing in real time but instead provide a result of tests once the tests are complete. In addition, systems do not typically allow reassignment among groups of test units in a suitable fashion.
Accordingly, a need exists for an improved software test system and method that at least addresses one or more of the above issues.